define(function(require, exports, module) {
	/**
	 * 获取本周、本季度、本月、上月的开始日期、结束日期
	 */
	var now = new Date(); //当前日期   
	var nowDayOfWeek = now.getDay(); //今天本周的第几天   
	var nowDay = now.getDate(); //当前日   
	var nowMonth = now.getMonth(); //当前月   
	var nowYear = now.getYear(); //当前年   
	nowYear += (nowYear < 2000) ? 1900 : 0; //  

	var lastMonthDate = new Date(); //上月日期
	lastMonthDate.setDate(1);
	lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
	var lastYear = lastMonthDate.getYear();
	var lastMonth = lastMonthDate.getMonth();

	//格式化日期：yyyy-MM-dd   
	function formatDate(date) {
		var myyear = date.getFullYear();
		var mymonth = date.getMonth() + 1;
		var myweekday = date.getDate();

		if(mymonth < 10) {
			mymonth = "0" + mymonth;
		}
		if(myweekday < 10) {
			myweekday = "0" + myweekday;
		}
		return(myyear + "-" + mymonth + "-" + myweekday);
	}
	//获得本季度的开始月份   
	function getComQuarterStartMonth() {
		var quarterStartMonth = 0;
		if(nowMonth < 3) {
			quarterStartMonth = 0;
		}
		if(2 < nowMonth && nowMonth < 6) {
			quarterStartMonth = 3;
		}
		if(5 < nowMonth && nowMonth < 9) {
			quarterStartMonth = 6;
		}
		if(nowMonth > 8) {
			quarterStartMonth = 9;
		}
		return quarterStartMonth;
	}
	//获得某月的天数   
	function getMonthDays(myMonth) {
		var monthStartDate = new Date(nowYear, myMonth, 1);
		var monthEndDate = new Date(nowYear, myMonth + 1, 1);
		var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
		return days;
	}
	var getScreenDateList = {
		//获得本季度的开始月份   
		getQuarterStartMonth: function() {
			var quarterStartMonth = 0;
			if(nowMonth < 3) {
				quarterStartMonth = 0;
			}
			if(2 < nowMonth && nowMonth < 6) {
				quarterStartMonth = 3;
			}
			if(5 < nowMonth && nowMonth < 9) {
				quarterStartMonth = 6;
			}
			if(nowMonth > 8) {
				quarterStartMonth = 9;
			}
			return quarterStartMonth;
		},
		//今天
		getNowDayDate: function() {
			var getCurrentDate = new Date(nowYear, nowMonth, nowDay);
			return formatDate(getCurrentDate);
		},
		//昨天
		getLastDayDate: function() {
			var getYesterdayDate = new Date(nowYear, nowMonth, nowDay - 1);
			return formatDate(getYesterdayDate);
		},
		//获得本周的开始日期   
		getWeekStartDate: function() {
			var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 1);
			return formatDate(weekStartDate);
		},
		//获得本周的结束日期   
		getWeekEndDate: function() {
			var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek) + 1);
			return formatDate(weekEndDate);
		},
		//获得上周的开始日期
		getLastWeekStartDate: function() {
			var getUpWeekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 6);
			return formatDate(getUpWeekStartDate);
		},
		//获得上周的结束日期
		getLastWeekEndDate: function() {
			var getUpWeekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek - 6));
			return formatDate(getUpWeekEndDate);
		},
		//获得本月的开始日期   
		getMonthStartDate: function() {
			var monthStartDate = new Date(nowYear, nowMonth, 1);
			return formatDate(monthStartDate);
		},
		//获得本月的结束日期   
		getMonthEndDate: function() {
			var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
			return formatDate(monthEndDate);
		},
		//获得上月开始时间
		getLastMonthStartDate: function() {
			var lastMonthStartDate = new Date(nowYear, lastMonth, 1);
			return formatDate(lastMonthStartDate);
		},
		//获得上月结束时间
		getLastMonthEndDate: function() {
			var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));
			return formatDate(lastMonthEndDate);
		},
		//获得本季度的开始日期   
		getQuarterStartDate: function() {

			var quarterStartDate = new Date(nowYear, getComQuarterStartMonth(), 1);
			return formatDate(quarterStartDate);
		},
		//或的本季度的结束日期   
		getQuarterEndDate: function() {
			var quarterEndMonth = getComQuarterStartMonth() + 2;
			var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
			return formatDate(quarterStartDate);
		}
	};
	module.exports = getScreenDateList;
});